Modern vehicles may have as many as fifty microprocessors on them for controlling various functions such as airbag deployment, cruise control, power distribution, braking, gear shifting in the transmission, and engine control. The microprocessors may utilize memory (firmware) that is either on-board the microprocessor or is otherwise accessible to the microprocessor and that is used to store software such as calibration constants and/or control algorithms. The processor uses the software for performing the module's designated function(s). Therefore, changing the calibration constants and/or the control algorithms affects the performance of the device or devices controlled by the electronic module. Vehicle manufacturers may provide software updates for the electronic modules even after the vehicles have been sold. The software updates may be distributed through authorized service providers such as dealerships, certified repair technicians, and the like.
Vehicle owners may desire to modify or otherwise reprogram the software in electronic module firmware to enhance performance of the vehicle. For example, aftermarket tools exist to modify the software in certain electronic modules. An experienced user may be able to change the calibration constants or control algorithms on one or more electronic modules without authorization from the vehicle manufacturer. Such changes may enable the vehicle to accelerate quicker or reach a higher top speed, but often can increase the likelihood of a mechanical failure or reduce the life of one or more engine components. Moreover, unauthorized software modifications may void a vehicle's warranty. Therefore, it may be desirable to provide a method for detecting unauthorized programming of an electronic module's firmware.